#ifndef _S5P4418_RSTCON_H
#define _S5P4418_RSTCON_H

enum {
    /* IP Reset Register 0 */
    IP_RESET_AC97       = 0,
    IP_RESET_CPU_CORE_1,
    IP_RESET_CPU_CORE_2,
    IP_RESET_CPU_CORE_3,
    IP_RESET_WD_TIMER_1,    /* Watch Dog Timer 1 */
    IP_RESET_WD_TIMER_2,
    IP_RESET_WD_TIMER_3,
    IP_RESET_CRYPTO,
    IP_RESET_DEINTERLACE,
    IP_RESET_DISPLAY,
    IP_RESET_DUAL_DISPLAY,
    IP_RESET_HDMI_CEC   = 13,
    IP_RESET_HDMI_VIDEO,
    IP_RESET_HDMI_SPDIF,
    IP_RESET_HDMI_TMDS,
    IP_RESET_HDMI_PHY,
    IP_RESET_LVDS_PHY,
    IP_RESET_I2C_0,
    IP_RESET_I2C_1,
    IP_RESET_I2C_2,
    IP_RESET_I2S_0,
    IP_RESET_I2S_1,
    IP_RESET_I2S_2,
    IP_RESET_MEM_APB,
    IP_RESET_MEM_AXI,
    IP_RESET_MEM_CORE,
    IP_RESET_MIPI,
    IP_RESET_MIPI_DSI,
    IP_RESET_MIPI_CSI,
    IP_RESET_MIPI_DPHY_SLAVE,

    /* IP Reset Register 1 */
    IP_RESET_MIPI_DPHY_MASTER   = 32,
    IP_RESET_MPEG_TSI,
    IP_RESET_PDM,
    IP_RESET_PWMTIMER_0,
    IP_RESET_PWMTIMER_1,
    IP_RESET_SCALLER,
    IP_RESET_SDMMC_0,
    IP_RESET_SDMMC_1,
    IP_RESET_SDMMC_2,
    IP_RESET_SPDIF_RX,
    IP_RESET_SPDIF_TX,
    IP_RESET_SSP0_APB,
    IP_RESET_SSP0_CORE,
    IP_RESET_SSP1_APB,
    IP_RESET_SSP1_CORE,
    IP_RESET_SSP2_APB,
    IP_RESET_SSP2_CORE,
    IP_RESET_UART_0,
    IP_RESET_UART_1,
    IP_RESET_UART_2,
    IP_RESET_UART_3,
    IP_RESET_UART_4,
    IP_RESET_USB_HOST     = 23,
    IP_RESET_USB_OTG,
    IP_RESET_WDT_APB,
    IP_RESET_WDT_POR,
    IP_RESET_ADC,
    IP_RESET_MFC_AXI,
    IP_RESET_MFC_VIDEO_APB,
    IP_RESET_MFC_VIDEO_CORE,
    IP_RESET_GAMC,
};
void s5p4418_ip_reset(int id);

#endif
